class Solution {
public:
    string pushDominoes(string dominoes) {
        dominoes='L'+dominoes+'R';

        string ret;
        int left=0;
        int right=1;
        for(;right<dominoes.size();right++)
        {
            if(dominoes[right]=='.')
            {
                continue;
            }
            
            if(left!=0)
            {
                ret+=dominoes[left];
            }
            int cnt=right-left-1;
            if(dominoes[left]==dominoes[right])
            {
                ret+=string(cnt,dominoes[left]);
            }
            else if(dominoes[left]=='L' && dominoes[right]=='R')
            {
                ret+=string(cnt,'.');
            }
            else if(dominoes[left]=='R' && dominoes[right]=='L')
            {
                ret+=string(cnt/2,'R');
                if(cnt%2)
                {
                    ret+=string(1,'.');
                }
                ret+=string(cnt/2,'L');
            }
            left=right;
        }
        return ret;
    }
};
